/**
 * @author zhangshuai
 * @version V1.0
 * @Project Java2_26
 * @Package PACKAGE_NAME
 * @Description:
 * @Date 2025/5/14 10:34
 */

public class ExceptionTest {

    public static void main(String[] args) {
        //CheckedException   检查期异常，编译异常
        //RuntimeException  运行期异常，运行时异常
        //反射：动态拿到我们运行期是我们的类的所有内容；缺点：开销大，耗资源
        //有两种解决方案：1.try-catch 捕获异常，解决  2.抛出异常 throws Exception 在方法签名出 不解决异常，交给调用者解决
        /*Class.forName("ExceptionTest1");

        try {
            //放置的是可能会出现问题的代码
            Class.forName("ExceptionTest1");

            //catch 捕获异常
        } catch (ClassNotFoundException e) {
            //2.打印堆栈信息
//            e.printStackTrace();
            //有两种解决方案;
            //1.抛出新的运行异常
           throw new RuntimeException("类未找到"+e);
        }*/
        try {

            Class.forName("ExceptionTest");


        }catch (ArithmeticException e){
            e.printStackTrace();
            throw new RuntimeException(e);
        }catch(ClassNotFoundException e){
            e.printStackTrace();
            throw new RuntimeException(e);
        }catch (Exception e){
        e.printStackTrace();
        throw new RuntimeException(e);
        }finally {
            System.out.println("finally 代码块");
  }



    }
}